package com.markdownviewer;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

import java.io.IOException;

/**
 * 主应用程序类，作为Markdown查看器的入口点
 */
public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        try {
            // 加载主界面FXML
            FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/MainView.fxml"));
            Parent root = loader.load();
            
            // 获取控制器实例
            MainController controller = loader.getController();
            
            // 设置场景
            Scene scene = new Scene(root, 1200, 800);
            scene.getStylesheets().add(getClass().getResource("/css/styles.css").toExternalForm());
            
            // 配置主舞台
            primaryStage.setTitle("Markdown查看器");
            primaryStage.setScene(scene);
            primaryStage.show();
            
            // 将主舞台引用传递给控制器
            controller.setPrimaryStage(primaryStage);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}